home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
SPACE 1
/
SPACE - Library 1 - Volume 1.iso
/
program
/
84
/
draw_btn.lst
< prev
next >
Wrap
File List
|
1987-08-16
|
3KB
|
119 lines
Procedure Draw_text_in_box(Characters$,X_text,Y_text,Style,Char_color,Char_size,Hborder,Vborder,Thick,Inverse)
Local Offset,Width,Hieght,Fatness,Round,Seethru,Xhot_upper,Yhot_upper,Xhot_lower,Yhot_lower,Temp$
If X_text<0
Round=True
Else
Round=False
Endif
If Y_text<0
Seethru=True
Else
Seethru=False
Endif
X_text=Abs(X_text)
Y_text=Abs(Y_text)
If Xbios(4)=1 And Char_size=1
Char_size=6
Else
If Xbios(4)=2 And Char_size=1
Char_size=13
Endif
Endif
If Char_size=32
Hieght=32
Width=16
Offset=4
Else
If Char_size=13
Hieght=16
Width=8
Offset=3
Else
If Char_size=6
Hieght=8
Width=8
Offset=1
Else
If Char_size=4
Hieght=7
Width=6
Offset=2
Endif
Endif
Endif
Endif
'
If Xbios(4)=2
Strip=(0)
Else
Strip=(-8)
Endif
Xhot_upper=X_text-Hborder-Thick+1
Yhot_upper=Y_text+Offset-Hieght-Vborder-Thick+20+Strip
Xhot_lower=X_text+Len(Characters$)*Width+Hborder+Thick-1
Yhot_lower=Y_text+Offset+Vborder+Thick+18+Strip
'
'
Deftext Char_color,Style,0,Char_size
Graphmode 1
'
If Thick>0
If Inverse
Deffill Char_color,1,
Else
Deffill 0,0,0
Endif
Color 1
'
If Round
If Seethru
Rbox (X_text-Hborder)-1,(Y_text+Offset-Hieght-Vborder)-1,(X_text+Len(Characters$)*Width+Hborder)+1,(Y_text+Offset+Vborder)+1
Else
Prbox (X_text-Hborder)-1,(Y_text+Offset-Hieght-Vborder)-1,(X_text+Len(Characters$)*Width+Hborder)+1,(Y_text+Offset+Vborder)+1
Endif
Else
If Seethru
Box (X_text-Hborder)-1,(Y_text+Offset-Hieght-Vborder)-1,(X_text+Len(Characters$)*Width+Hborder)+1,(Y_text+Offset+Vborder)+1
Else
Pbox (X_text-Hborder)-1,(Y_text+Offset-Hieght-Vborder)-1,(X_text+Len(Characters$)*Width+Hborder)+1,(Y_text+Offset+Vborder)+1
Endif
Endif
'
For Fatness=1 To Thick
'
If Round
Rbox (X_text-Hborder)-Fatness,(Y_text+Offset-Hieght-Vborder)-Fatness,(X_text+Len(Characters$)*Width+Hborder)+Fatness,(Y_text+Offset+Vborder)+Fatness
Else
Box (X_text-Hborder)-Fatness,(Y_text+Offset-Hieght-Vborder)-Fatness,(X_text+Len(Characters$)*Width+Hborder)+Fatness,(Y_text+Offset+Vborder)+Fatness
Endif
'
Next Fatness
'
Endif
'
If Seethru
Graphmode 2
Text X_text,Y_text,Characters$
If Inverse
Get Xhot_upper,Yhot_upper,Xhot_lower,Yhot_lower,Temp$
Put Xhot_upper,Yhot_upper,Temp$,12
Endif
Goto Buttonend1
Endif
'
If Inverse And Thick>0
Graphmode 3
Else
If Inverse And Thick<=0
Graphmode 4
Else
If Not (Inverse)
Graphmode 2
Endif
Endif
Endif
Text X_text,Y_text,Characters$
Buttonend1:
Graphmode 1
Return